This invention relates generally to systems or devices that employ pulse width modulation (PWM) controlled switching schemes and more particularly to a method for compensating for dead time non-linearities in PWM controlled switching schemes.
In most alternating current (AC) motors, a full bridge power inverter is used to apply a PWM voltage across the motor phases in order to control the motor for applications such as electric power steering or hand wheel actuators of steer by wire systems. Typically, the PWM switching method is used to control the speed and operation of the motor by modulating the pulse width of the signals that drive the power inverters. However, one problem with this approach is the effect caused by the propagation delay in the power switches which can cause a short at the switching point. To avoid this, a dead time is inserted between the turn off of one switch and the turn on of a complementary switch. During this dead time, both of the switches are in an off state. In effect, this dead time causes a non-linearity in the effective voltage applied across the motor phase causing a torque ripple.
The loss of voltage due to this dead time makes the average output motor torque less than the desired output motor torque causing a non-linear relationship between the desired, or commanded torque and the actual output torque of the motor. The sign of the voltage disturbance, either negative or positive, depends upon the sign of the AC current produced by the motor. This disturbance changes sign at every zero phase crossing of the motor current. Thus, since each 3-phase permanent magnet AC motor produces a motor current having six zero crossings per electrical revolution, a six per electrical revolution torque ripple is induced into the motor torque, in addition to other frequency components of torque ripple which may be introduced depending upon the PWM switching method.
Referring to FIG. 1, the effect of the dead time on the output motor torque of a permanent magnet AC motor having an input torque command of 0.5 Nm is illustrated. As can be seen, there is a six per electrical revolution torque ripple having a magnitude of approximately 14 mNm. In addition, this dead time may cause the output motor torque to be significantly less than the input torque command. In this particular case, for an input torque command of 0.5 Nm, the output motor torque is approximately 0.413 Nm. As a result, in torque sensitive applications such as electric power steering or steer by wire systems, this torque ripple degrades the performance of the system and is undesirable.
Although methods to solve this problem have been proposed, these methods involve active probing or estimating of phase currents, see U.S. Pat. No. 5,550,450 to Palko, et al. and U.S. Pat. No. 5,764,024 to Wilson, D. L. However, for permanent magnet AC motor drives that utilize a voltage mode control design, this can be expensive and time consuming. This is because, in voltage mode control designs, the motor torque is regulated by controlling the motor phase voltage rather than the current as in current mode control methods where the active phase current is not normally measured or estimated. Thus, additional current sensing or probing circuitry would have to be added to existing designs. This takes time and increases operating costs.
A method for compensating for dead time non-linearities in a pulse width modulation (PWM) controlled device comprising: obtaining a motor data signal; generating a duty cycle of the motor voltage responsive to the motor data signal; determining a compensation value responsive to the duty cycle of the motor voltage; generating a compensated duty cycle in response to the compensation value and the duty cycle of the motor voltage; and introducing the compensated duty cycle to the PWM controlled device.
In addition, a medium encoded with a machine-readable computer program code for compensating for dead time non-linearities in a pulse width modulation (PWM) controlled device, the medium including instructions for causing a controller to implement the aforementioned method.